package string03;

public class Demo02 {
    public static void main(String[] args) {
        String str1 = "abc";
        String str2 = "abc";
        String str3 = new String("abc");

        System.out.println(str1 == str3);//false
        System.out.println(str1.equals(str3));//true
        //str1和str3使用的常量相同，都是位于方法区的常量池中的"abc"的内存地址值，但是str1是直接使用，str3是在堆中使用，返回的是new Strin()的地址值
        //所以str1和str3的内存地址值不同，但是字符串的内容是相同的，所以通过equals方法返回的是true
        System.out.println(str2 == str3);//false
        System.out.println(str2.equals(str3));//true

    }

}
